///////////////////////////////////////////////////////////////////////////////
//  Copyright Christopher Kormanyos 2007 - 2020.
//  Distributed under the Boost Software License,
//  Version 1.0. (See accompanying file LICENSE_1_0.txt
//  or copy at http://www.boost.org/LICENSE_1_0.txt)
//

#ifndef MCAL_REG_2010_04_10_H_
  #define MCAL_REG_2010_04_10_H_

  #include <cstdint>

  namespace mcal
  {
    namespace reg
    {
      // System registers.
      constexpr std::uint32_t mdmonr         = UINT32_C(0x00080000); // 16-bit register width : System Mode monitor register                              
      constexpr std::uint32_t mdsr           = UINT32_C(0x00080002); // 16-bit register width : System Mode status register                               
      constexpr std::uint32_t syscr0         = UINT32_C(0x00080006); // 16-bit register width : System System control register 0                          
      constexpr std::uint32_t syscr1         = UINT32_C(0x00080008); // 16-bit register width : System System control register 1                          
      constexpr std::uint32_t sbycr          = UINT32_C(0x0008000C); // 16-bit register width : System Standby control register                           
      constexpr std::uint32_t mstpcra        = UINT32_C(0x00080010); // 32-bit register width : System Module stop control register A                     
      constexpr std::uint32_t mstpcrb        = UINT32_C(0x00080014); // 32-bit register width : System Module stop control register B                     
      constexpr std::uint32_t mstpcrc        = UINT32_C(0x00080018); // 32-bit register width : System Module stop control register C                     
      constexpr std::uint32_t sckcr          = UINT32_C(0x00080020); // 32-bit register width : System System clock control register                      
      constexpr std::uint32_t sckcr2         = UINT32_C(0x00080024); // 16-bit register width : System System clock control register 2                    
      constexpr std::uint32_t sckcr3         = UINT32_C(0x00080026); // 16-bit register width : System System clock control register 3                    
      constexpr std::uint32_t pllcr          = UINT32_C(0x00080028); // 16-bit register width : System PLL control register                               
      constexpr std::uint32_t pllcr2         = UINT32_C(0x0008002A); //  8-bit register width : System PLL control register 2                             
      constexpr std::uint32_t bckcr          = UINT32_C(0x00080030); //  8-bit register width : System External bus clock control register                
      constexpr std::uint32_t mosccr         = UINT32_C(0x00080032); //  8-bit register width : System Main clock oscillator control register             
      constexpr std::uint32_t sosccr         = UINT32_C(0x00080033); //  8-bit register width : System Sub-clock oscillator control register              
      constexpr std::uint32_t lococr         = UINT32_C(0x00080034); //  8-bit register width : System Low-speed on-chip oscillator control register      
      constexpr std::uint32_t ilococr        = UINT32_C(0x00080035); //  8-bit register width : System IWDT-dedicated on-chip oscillator control register 
      constexpr std::uint32_t hococr         = UINT32_C(0x00080036); //  8-bit register width : System High-speed on-chip oscillator control register     
      constexpr std::uint32_t ostdcr         = UINT32_C(0x00080040); //  8-bit register width : System Oscillation stop detect control register           
      constexpr std::uint32_t ostdsr         = UINT32_C(0x00080041); //  8-bit register width : System Oscillation stop detection status register         
      constexpr std::uint32_t opccr          = UINT32_C(0x000800A0); //  8-bit register width : System Operating power control register                   
      constexpr std::uint32_t rstckcr        = UINT32_C(0x000800A1); //  8-bit register width : System Sleep mode recovery clock source switching register
      constexpr std::uint32_t moscwtcr       = UINT32_C(0x000800A2); //  8-bit register width : System Main clock oscillator wait control register        
      constexpr std::uint32_t soscwtcr       = UINT32_C(0x000800A3); //  8-bit register width : System Sub-clock oscillator wait control register         
      constexpr std::uint32_t pllwtcr        = UINT32_C(0x000800A6); //  8-bit register width : System PLL wait control register                          
      constexpr std::uint32_t rstsr2         = UINT32_C(0x000800C0); //  8-bit register width : System Reset status register 2                            
      constexpr std::uint32_t swrr           = UINT32_C(0x000800C2); // 16-bit register width : System Software reset register                            
      constexpr std::uint32_t lvd1cr1        = UINT32_C(0x000800E0); //  8-bit register width : System Voltage monitoring 1 circuit control register 1    
      constexpr std::uint32_t lvd1sr         = UINT32_C(0x000800E1); //  8-bit register width : System Voltage monitoring 1 circuit status register       
      constexpr std::uint32_t lvd2cr1        = UINT32_C(0x000800E2); //  8-bit register width : System Voltage monitoring 2 circuit control register 1    
      constexpr std::uint32_t lvd2sr         = UINT32_C(0x000800E3); //  8-bit register width : System Voltage monitoring 2 circuit status register       
      constexpr std::uint32_t prcr           = UINT32_C(0x000803FE); // 16-bit register width : System Protection register                                

      // Port registers.
      constexpr std::uint32_t port0_pdr      = UINT32_C(0x0008C000); // 8-bit register width : Port direction register
      constexpr std::uint32_t port1_pdr      = UINT32_C(0x0008C001); // 8-bit register width : Port direction register
      constexpr std::uint32_t port2_pdr      = UINT32_C(0x0008C002); // 8-bit register width : Port direction register
      constexpr std::uint32_t port3_pdr      = UINT32_C(0x0008C003); // 8-bit register width : Port direction register
      constexpr std::uint32_t port4_pdr      = UINT32_C(0x0008C004); // 8-bit register width : Port direction register
      constexpr std::uint32_t port5_pdr      = UINT32_C(0x0008C005); // 8-bit register width : Port direction register
      constexpr std::uint32_t port6_pdr      = UINT32_C(0x0008C006); // 8-bit register width : Port direction register
      constexpr std::uint32_t port7_pdr      = UINT32_C(0x0008C007); // 8-bit register width : Port direction register
      constexpr std::uint32_t port8_pdr      = UINT32_C(0x0008C008); // 8-bit register width : Port direction register
      constexpr std::uint32_t port9_pdr      = UINT32_C(0x0008C009); // 8-bit register width : Port direction register
      constexpr std::uint32_t porta_pdr      = UINT32_C(0x0008C00A); // 8-bit register width : Port direction register
      constexpr std::uint32_t portb_pdr      = UINT32_C(0x0008C00B); // 8-bit register width : Port direction register
      constexpr std::uint32_t portc_pdr      = UINT32_C(0x0008C00C); // 8-bit register width : Port direction register
      constexpr std::uint32_t portd_pdr      = UINT32_C(0x0008C00D); // 8-bit register width : Port direction register
      constexpr std::uint32_t porte_pdr      = UINT32_C(0x0008C00E); // 8-bit register width : Port direction register
      constexpr std::uint32_t portf_pdr      = UINT32_C(0x0008C00F); // 8-bit register width : Port direction register
      constexpr std::uint32_t portg_pdr      = UINT32_C(0x0008C010); // 8-bit register width : Port direction register
      constexpr std::uint32_t portj_pdr      = UINT32_C(0x0008C012); // 8-bit register width : Port direction register
      constexpr std::uint32_t port0_podr     = UINT32_C(0x0008C020); // 8-bit register width : Port output data register
      constexpr std::uint32_t port1_podr     = UINT32_C(0x0008C021); // 8-bit register width : Port output data register
      constexpr std::uint32_t port2_podr     = UINT32_C(0x0008C022); // 8-bit register width : Port output data register
      constexpr std::uint32_t port3_podr     = UINT32_C(0x0008C023); // 8-bit register width : Port output data register
      constexpr std::uint32_t port4_podr     = UINT32_C(0x0008C024); // 8-bit register width : Port output data register
      constexpr std::uint32_t port5_podr     = UINT32_C(0x0008C025); // 8-bit register width : Port output data register
      constexpr std::uint32_t port6_podr     = UINT32_C(0x0008C026); // 8-bit register width : Port output data register
      constexpr std::uint32_t port7_podr     = UINT32_C(0x0008C027); // 8-bit register width : Port output data register
      constexpr std::uint32_t port8_podr     = UINT32_C(0x0008C028); // 8-bit register width : Port output data register
      constexpr std::uint32_t port9_podr     = UINT32_C(0x0008C029); // 8-bit register width : Port output data register
      constexpr std::uint32_t porta_podr     = UINT32_C(0x0008C02A); // 8-bit register width : Port output data register
      constexpr std::uint32_t portb_podr     = UINT32_C(0x0008C02B); // 8-bit register width : Port output data register
      constexpr std::uint32_t portc_podr     = UINT32_C(0x0008C02C); // 8-bit register width : Port output data register
      constexpr std::uint32_t portd_podr     = UINT32_C(0x0008C02D); // 8-bit register width : Port output data register
      constexpr std::uint32_t porte_podr     = UINT32_C(0x0008C02E); // 8-bit register width : Port output data register
      constexpr std::uint32_t portf_podr     = UINT32_C(0x0008C02F); // 8-bit register width : Port output data register
      constexpr std::uint32_t portg_podr     = UINT32_C(0x0008C030); // 8-bit register width : Port output data register
      constexpr std::uint32_t portj_podr     = UINT32_C(0x0008C032); // 8-bit register width : Port output data register
      constexpr std::uint32_t port0_pidr     = UINT32_C(0x0008C040); // 8-bit register width : Port input data register
      constexpr std::uint32_t port1_pidr     = UINT32_C(0x0008C041); // 8-bit register width : Port input data register
      constexpr std::uint32_t port2_pidr     = UINT32_C(0x0008C042); // 8-bit register width : Port input data register
      constexpr std::uint32_t port3_pidr     = UINT32_C(0x0008C043); // 8-bit register width : Port input data register
      constexpr std::uint32_t port4_pidr     = UINT32_C(0x0008C044); // 8-bit register width : Port input data register
      constexpr std::uint32_t port5_pidr     = UINT32_C(0x0008C045); // 8-bit register width : Port input data register
      constexpr std::uint32_t port6_pidr     = UINT32_C(0x0008C046); // 8-bit register width : Port input data register
      constexpr std::uint32_t port7_pidr     = UINT32_C(0x0008C047); // 8-bit register width : Port input data register
      constexpr std::uint32_t port8_pidr     = UINT32_C(0x0008C048); // 8-bit register width : Port input data register
      constexpr std::uint32_t port9_pidr     = UINT32_C(0x0008C049); // 8-bit register width : Port input data register
      constexpr std::uint32_t porta_pidr     = UINT32_C(0x0008C04A); // 8-bit register width : Port input data register
      constexpr std::uint32_t portb_pidr     = UINT32_C(0x0008C04B); // 8-bit register width : Port input data register
      constexpr std::uint32_t portc_pidr     = UINT32_C(0x0008C04C); // 8-bit register width : Port input data register
      constexpr std::uint32_t portd_pidr     = UINT32_C(0x0008C04D); // 8-bit register width : Port input data register
      constexpr std::uint32_t porte_pidr     = UINT32_C(0x0008C04E); // 8-bit register width : Port input data register
      constexpr std::uint32_t portf_pidr     = UINT32_C(0x0008C04F); // 8-bit register width : Port input data register
      constexpr std::uint32_t portg_pidr     = UINT32_C(0x0008C050); // 8-bit register width : Port input data register
      constexpr std::uint32_t portj_pidr     = UINT32_C(0x0008C052); // 8-bit register width : Port input data register
      constexpr std::uint32_t port0_pmr      = UINT32_C(0x0008C060); // 8-bit register width : Port input data register
      constexpr std::uint32_t port1_pmr      = UINT32_C(0x0008C061); // 8-bit register width : Port input data register
      constexpr std::uint32_t port2_pmr      = UINT32_C(0x0008C062); // 8-bit register width : Port mode register
      constexpr std::uint32_t port3_pmr      = UINT32_C(0x0008C063); // 8-bit register width : Port mode register
      constexpr std::uint32_t port4_pmr      = UINT32_C(0x0008C064); // 8-bit register width : Port mode register
      constexpr std::uint32_t port5_pmr      = UINT32_C(0x0008C065); // 8-bit register width : Port mode register
      constexpr std::uint32_t port6_pmr      = UINT32_C(0x0008C066); // 8-bit register width : Port mode register
      constexpr std::uint32_t port7_pmr      = UINT32_C(0x0008C067); // 8-bit register width : Port mode register
      constexpr std::uint32_t port8_pmr      = UINT32_C(0x0008C068); // 8-bit register width : Port mode register
      constexpr std::uint32_t port9_pmr      = UINT32_C(0x0008C069); // 8-bit register width : Port mode register
      constexpr std::uint32_t porta_pmr      = UINT32_C(0x0008C06A); // 8-bit register width : Port mode register
      constexpr std::uint32_t portb_pmr      = UINT32_C(0x0008C06B); // 8-bit register width : Port mode register
      constexpr std::uint32_t portc_pmr      = UINT32_C(0x0008C06C); // 8-bit register width : Port mode register
      constexpr std::uint32_t portd_pmr      = UINT32_C(0x0008C06D); // 8-bit register width : Port mode register
      constexpr std::uint32_t porte_pmr      = UINT32_C(0x0008C06E); // 8-bit register width : Port mode register
      constexpr std::uint32_t portf_pmr      = UINT32_C(0x0008C06F); // 8-bit register width : Port mode register
      constexpr std::uint32_t portg_pmr      = UINT32_C(0x0008C070); // 8-bit register width : Port mode register
      constexpr std::uint32_t portj_pmr      = UINT32_C(0x0008C072); // 8-bit register width : Port mode register

      // Timer registers.
      constexpr std::uint32_t cmt_cmstr0     = UINT32_C(0x00088000); // 16-bit register width : CMT  Compare match timer start register 0
      constexpr std::uint32_t cmt0_cmcr      = UINT32_C(0x00088002); // 16-bit register width : CMT0 Compare match timer control register
      constexpr std::uint32_t cmt0_cmcnt     = UINT32_C(0x00088004); // 16-bit register width : CMT0 Compare match timer counter
      constexpr std::uint32_t cmt0_cmcor     = UINT32_C(0x00088006); // 16-bit register width : CMT0 Compare match timer constant register
      constexpr std::uint32_t cmt1_cmcr      = UINT32_C(0x00088008); // 16-bit register width : CMT1 Compare match timer control register
      constexpr std::uint32_t cmt1_cmcnt     = UINT32_C(0x0008800A); // 16-bit register width : CMT1 Compare match timer counter
      constexpr std::uint32_t cmt1_cmcor     = UINT32_C(0x0008800C); // 16-bit register width : CMT1 Compare match timer constant register
      constexpr std::uint32_t cmt_cmstr1     = UINT32_C(0x00088010); // 16-bit register width : CMT  Compare match timer start register 1
      constexpr std::uint32_t cmt2_cmcr      = UINT32_C(0x00088012); // 16-bit register width : CMT2 Compare match timer control register
      constexpr std::uint32_t cmt2_cmcnt     = UINT32_C(0x00088014); // 16-bit register width : CMT2 Compare match timer counter
      constexpr std::uint32_t cmt2_cmcor     = UINT32_C(0x00088016); // 16-bit register width : CMT2 Compare match timer constant register
      constexpr std::uint32_t cmt3_cmcr      = UINT32_C(0x00088018); // 16-bit register width : CMT3 Compare match timer control register
      constexpr std::uint32_t cmt3_cmcnt     = UINT32_C(0x0008801A); // 16-bit register width : CMT3 Compare match timer counter
      constexpr std::uint32_t cmt3_cmcor     = UINT32_C(0x0008801C); // 16-bit register width : CMT3 Compare match timer constant register

      // Watchdog registers.
      constexpr std::uint32_t wdt_wdtrr      = UINT32_C(0x00088020); //  8-bit register width : WDT refresh register
      constexpr std::uint32_t wdt_wdtcr      = UINT32_C(0x00088022); // 16-bit register width : WDT control register
      constexpr std::uint32_t wdt_wdtsr      = UINT32_C(0x00088024); // 16-bit register width : WDT status register
      constexpr std::uint32_t wdt_wdtrcr     = UINT32_C(0x00088026); //  8-bit register width : WDT reset control register
      constexpr std::uint32_t iwdt_iwdtrr    = UINT32_C(0x00088030); //  8-bit register width : IWDT refresh register
      constexpr std::uint32_t iwdt_iwdtcr    = UINT32_C(0x00088032); // 16-bit register width : IWDT control register
      constexpr std::uint32_t iwdt_iwdtsr    = UINT32_C(0x00088034); // 16-bit register width : IWDT status register
      constexpr std::uint32_t iwdt_iwdtrcr   = UINT32_C(0x00088036); //  8-bit register width : IWDT reset control register
      constexpr std::uint32_t iwdt_iwdtcstpr = UINT32_C(0x00088038); //  8-bit register width : IWDT count stop control register

      // Timer group control registers.
      constexpr std::uint32_t tmr0_tcr       = UINT32_C(0x00088200); // 8-bit register width : Timer control register        
      constexpr std::uint32_t tmr1_tcr       = UINT32_C(0x00088201); // 8-bit register width : Timer control register        
      constexpr std::uint32_t tmr0_tcsr      = UINT32_C(0x00088202); // 8-bit register width : Timer control/status register 
      constexpr std::uint32_t tmr1_tcsr      = UINT32_C(0x00088203); // 8-bit register width : Timer control/status register 
      constexpr std::uint32_t tmr0_tcora     = UINT32_C(0x00088204); // 8-bit register width : Time constant register A      
      constexpr std::uint32_t tmr1_tcora     = UINT32_C(0x00088205); // 8-bit register width : Time constant register A      
      constexpr std::uint32_t tmr0_tcorb     = UINT32_C(0x00088206); // 8-bit register width : Time constant register B      
      constexpr std::uint32_t tmr1_tcorb     = UINT32_C(0x00088207); // 8-bit register width : Time constant register B      
      constexpr std::uint32_t tmr0_tcnt      = UINT32_C(0x00088208); // 8-bit register width : Timer counter                 
      constexpr std::uint32_t tmr1_tcnt      = UINT32_C(0x00088209); // 8-bit register width : Timer counter                 
      constexpr std::uint32_t tmr0_tccr      = UINT32_C(0x0008820A); // 8-bit register width : Timer counter control register
      constexpr std::uint32_t tmr1_tccr      = UINT32_C(0x0008820B); // 8-bit register width : Timer counter control register
      constexpr std::uint32_t tmr2_tcr       = UINT32_C(0x00088210); // 8-bit register width : Timer control register        
      constexpr std::uint32_t tmr3_tcr       = UINT32_C(0x00088211); // 8-bit register width : Timer control register        
      constexpr std::uint32_t tmr2_tcsr      = UINT32_C(0x00088212); // 8-bit register width : Timer control/status register 
      constexpr std::uint32_t tmr3_tcsr      = UINT32_C(0x00088213); // 8-bit register width : Timer control/status register 
      constexpr std::uint32_t tmr2_tcora     = UINT32_C(0x00088214); // 8-bit register width : Time constant register A      
      constexpr std::uint32_t tmr3_tcora     = UINT32_C(0x00088215); // 8-bit register width : Time constant register A      
      constexpr std::uint32_t tmr2_tcorb     = UINT32_C(0x00088216); // 8-bit register width : Time constant register B      
      constexpr std::uint32_t tmr3_tcorb     = UINT32_C(0x00088217); // 8-bit register width : Time constant register B      
      constexpr std::uint32_t tmr2_tcnt      = UINT32_C(0x00088218); // 8-bit register width : Timer counter                 
      constexpr std::uint32_t tmr3_tcnt      = UINT32_C(0x00088219); // 8-bit register width : Timer counter                 
      constexpr std::uint32_t tmr2_tccr      = UINT32_C(0x0008821A); // 8-bit register width : Timer counter control register
      constexpr std::uint32_t tmr3_tccr      = UINT32_C(0x0008821B); // 8-bit register width : Timer counter control register

      // Interrupt request registers.
      constexpr std::uint32_t icu_ir016      = UINT32_C(0x00087010); // 8-bit register width : Interrupt request register 016
      constexpr std::uint32_t icu_ir021      = UINT32_C(0x00087015); // 8-bit register width : Interrupt request register 021
      constexpr std::uint32_t icu_ir023      = UINT32_C(0x00087017); // 8-bit register width : Interrupt request register 023
      constexpr std::uint32_t icu_ir027      = UINT32_C(0x0008701B); // 8-bit register width : Interrupt request register 027
      constexpr std::uint32_t icu_ir028      = UINT32_C(0x0008701C); // 8-bit register width : Interrupt request register 028
      constexpr std::uint32_t icu_ir029      = UINT32_C(0x0008701D); // 8-bit register width : Interrupt request register 029
      constexpr std::uint32_t icu_ir030      = UINT32_C(0x0008701E); // 8-bit register width : Interrupt request register 030
      constexpr std::uint32_t icu_ir031      = UINT32_C(0x0008701F); // 8-bit register width : Interrupt request register 031
      constexpr std::uint32_t icu_ir032      = UINT32_C(0x00087020); // 8-bit register width : Interrupt request register 032
      constexpr std::uint32_t icu_ir033      = UINT32_C(0x00087021); // 8-bit register width : Interrupt request register 033
      constexpr std::uint32_t icu_ir034      = UINT32_C(0x00087022); // 8-bit register width : Interrupt request register 034
      constexpr std::uint32_t icu_ir035      = UINT32_C(0x00087023); // 8-bit register width : Interrupt request register 035
      constexpr std::uint32_t icu_ir036      = UINT32_C(0x00087024); // 8-bit register width : Interrupt request register 036
      constexpr std::uint32_t icu_ir037      = UINT32_C(0x00087025); // 8-bit register width : Interrupt request register 037
      constexpr std::uint32_t icu_ir038      = UINT32_C(0x00087026); // 8-bit register width : Interrupt request register 038
      constexpr std::uint32_t icu_ir039      = UINT32_C(0x00087027); // 8-bit register width : Interrupt request register 039
      constexpr std::uint32_t icu_ir040      = UINT32_C(0x00087028); // 8-bit register width : Interrupt request register 040
      constexpr std::uint32_t icu_ir041      = UINT32_C(0x00087029); // 8-bit register width : Interrupt request register 041
      constexpr std::uint32_t icu_ir042      = UINT32_C(0x0008702A); // 8-bit register width : Interrupt request register 042
      constexpr std::uint32_t icu_ir043      = UINT32_C(0x0008702B); // 8-bit register width : Interrupt request register 043
      constexpr std::uint32_t icu_ir044      = UINT32_C(0x0008702C); // 8-bit register width : Interrupt request register 044
      constexpr std::uint32_t icu_ir045      = UINT32_C(0x0008702D); // 8-bit register width : Interrupt request register 045
      constexpr std::uint32_t icu_ir046      = UINT32_C(0x0008702E); // 8-bit register width : Interrupt request register 046
      constexpr std::uint32_t icu_ir047      = UINT32_C(0x0008702F); // 8-bit register width : Interrupt request register 047
      constexpr std::uint32_t icu_ir048      = UINT32_C(0x00087030); // 8-bit register width : Interrupt request register 048
      constexpr std::uint32_t icu_ir049      = UINT32_C(0x00087031); // 8-bit register width : Interrupt request register 049
      constexpr std::uint32_t icu_ir050      = UINT32_C(0x00087032); // 8-bit register width : Interrupt request register 050
      constexpr std::uint32_t icu_ir051      = UINT32_C(0x00087033); // 8-bit register width : Interrupt request register 051
      constexpr std::uint32_t icu_ir052      = UINT32_C(0x00087034); // 8-bit register width : Interrupt request register 052
      constexpr std::uint32_t icu_ir053      = UINT32_C(0x00087035); // 8-bit register width : Interrupt request register 053
      constexpr std::uint32_t icu_ir054      = UINT32_C(0x00087036); // 8-bit register width : Interrupt request register 054
      constexpr std::uint32_t icu_ir055      = UINT32_C(0x00087037); // 8-bit register width : Interrupt request register 055
      constexpr std::uint32_t icu_ir056      = UINT32_C(0x00087038); // 8-bit register width : Interrupt request register 056
      constexpr std::uint32_t icu_ir057      = UINT32_C(0x00087039); // 8-bit register width : Interrupt request register 057
      constexpr std::uint32_t icu_ir058      = UINT32_C(0x0008703A); // 8-bit register width : Interrupt request register 058
      constexpr std::uint32_t icu_ir059      = UINT32_C(0x0008703B); // 8-bit register width : Interrupt request register 059
      constexpr std::uint32_t icu_ir062      = UINT32_C(0x0008703E); // 8-bit register width : Interrupt request register 062
      constexpr std::uint32_t icu_ir064      = UINT32_C(0x00087040); // 8-bit register width : Interrupt request register 064
      constexpr std::uint32_t icu_ir065      = UINT32_C(0x00087041); // 8-bit register width : Interrupt request register 065
      constexpr std::uint32_t icu_ir066      = UINT32_C(0x00087042); // 8-bit register width : Interrupt request register 066
      constexpr std::uint32_t icu_ir067      = UINT32_C(0x00087043); // 8-bit register width : Interrupt request register 067
      constexpr std::uint32_t icu_ir068      = UINT32_C(0x00087044); // 8-bit register width : Interrupt request register 068
      constexpr std::uint32_t icu_ir069      = UINT32_C(0x00087045); // 8-bit register width : Interrupt request register 069
      constexpr std::uint32_t icu_ir070      = UINT32_C(0x00087046); // 8-bit register width : Interrupt request register 070
      constexpr std::uint32_t icu_ir071      = UINT32_C(0x00087047); // 8-bit register width : Interrupt request register 071
      constexpr std::uint32_t icu_ir072      = UINT32_C(0x00087048); // 8-bit register width : Interrupt request register 072
      constexpr std::uint32_t icu_ir073      = UINT32_C(0x00087049); // 8-bit register width : Interrupt request register 073
      constexpr std::uint32_t icu_ir074      = UINT32_C(0x0008704A); // 8-bit register width : Interrupt request register 074
      constexpr std::uint32_t icu_ir075      = UINT32_C(0x0008704B); // 8-bit register width : Interrupt request register 075
      constexpr std::uint32_t icu_ir076      = UINT32_C(0x0008704C); // 8-bit register width : Interrupt request register 076
      constexpr std::uint32_t icu_ir077      = UINT32_C(0x0008704D); // 8-bit register width : Interrupt request register 077
      constexpr std::uint32_t icu_ir078      = UINT32_C(0x0008704E); // 8-bit register width : Interrupt request register 078
      constexpr std::uint32_t icu_ir079      = UINT32_C(0x0008704F); // 8-bit register width : Interrupt request register 079
      constexpr std::uint32_t icu_ir090      = UINT32_C(0x0008705A); // 8-bit register width : Interrupt request register 090
      constexpr std::uint32_t icu_ir091      = UINT32_C(0x0008705B); // 8-bit register width : Interrupt request register 091
      constexpr std::uint32_t icu_ir092      = UINT32_C(0x0008705C); // 8-bit register width : Interrupt request register 092
      constexpr std::uint32_t icu_ir093      = UINT32_C(0x0008705D); // 8-bit register width : Interrupt request register 093
      constexpr std::uint32_t icu_ir098      = UINT32_C(0x00087062); // 8-bit register width : Interrupt request register 098
      constexpr std::uint32_t icu_ir102      = UINT32_C(0x00087066); // 8-bit register width : Interrupt request register 102
      constexpr std::uint32_t icu_ir106      = UINT32_C(0x0008706A); // 8-bit register width : Interrupt request register 106
      constexpr std::uint32_t icu_ir107      = UINT32_C(0x0008706B); // 8-bit register width : Interrupt request register 107
      constexpr std::uint32_t icu_ir108      = UINT32_C(0x0008706C); // 8-bit register width : Interrupt request register 108
      constexpr std::uint32_t icu_ir109      = UINT32_C(0x0008706D); // 8-bit register width : Interrupt request register 109
      constexpr std::uint32_t icu_ir110      = UINT32_C(0x0008706E); // 8-bit register width : Interrupt request register 110
      constexpr std::uint32_t icu_ir111      = UINT32_C(0x0008706F); // 8-bit register width : Interrupt request register 111
      constexpr std::uint32_t icu_ir112      = UINT32_C(0x00087070); // 8-bit register width : Interrupt request register 112
      constexpr std::uint32_t icu_ir114      = UINT32_C(0x00087072); // 8-bit register width : Interrupt request register 114
      constexpr std::uint32_t icu_ir122      = UINT32_C(0x0008707A); // 8-bit register width : Interrupt request register 122
      constexpr std::uint32_t icu_ir123      = UINT32_C(0x0008707B); // 8-bit register width : Interrupt request register 123
      constexpr std::uint32_t icu_ir124      = UINT32_C(0x0008707C); // 8-bit register width : Interrupt request register 124
      constexpr std::uint32_t icu_ir125      = UINT32_C(0x0008707D); // 8-bit register width : Interrupt request register 125
      constexpr std::uint32_t icu_ir126      = UINT32_C(0x0008707E); // 8-bit register width : Interrupt request register 126
      constexpr std::uint32_t icu_ir127      = UINT32_C(0x0008707F); // 8-bit register width : Interrupt request register 127
      constexpr std::uint32_t icu_ir128      = UINT32_C(0x00087080); // 8-bit register width : Interrupt request register 128
      constexpr std::uint32_t icu_ir129      = UINT32_C(0x00087081); // 8-bit register width : Interrupt request register 129
      constexpr std::uint32_t icu_ir130      = UINT32_C(0x00087082); // 8-bit register width : Interrupt request register 130
      constexpr std::uint32_t icu_ir131      = UINT32_C(0x00087083); // 8-bit register width : Interrupt request register 131
      constexpr std::uint32_t icu_ir132      = UINT32_C(0x00087084); // 8-bit register width : Interrupt request register 132
      constexpr std::uint32_t icu_ir133      = UINT32_C(0x00087085); // 8-bit register width : Interrupt request register 133
      constexpr std::uint32_t icu_ir134      = UINT32_C(0x00087086); // 8-bit register width : Interrupt request register 134
      constexpr std::uint32_t icu_ir135      = UINT32_C(0x00087087); // 8-bit register width : Interrupt request register 135
      constexpr std::uint32_t icu_ir136      = UINT32_C(0x00087088); // 8-bit register width : Interrupt request register 136
      constexpr std::uint32_t icu_ir137      = UINT32_C(0x00087089); // 8-bit register width : Interrupt request register 137
      constexpr std::uint32_t icu_ir138      = UINT32_C(0x0008708A); // 8-bit register width : Interrupt request register 138
      constexpr std::uint32_t icu_ir139      = UINT32_C(0x0008708B); // 8-bit register width : Interrupt request register 139
      constexpr std::uint32_t icu_ir140      = UINT32_C(0x0008708C); // 8-bit register width : Interrupt request register 140
      constexpr std::uint32_t icu_ir141      = UINT32_C(0x0008708D); // 8-bit register width : Interrupt request register 141
      constexpr std::uint32_t icu_ir142      = UINT32_C(0x0008708E); // 8-bit register width : Interrupt request register 142
      constexpr std::uint32_t icu_ir143      = UINT32_C(0x0008708F); // 8-bit register width : Interrupt request register 143
      constexpr std::uint32_t icu_ir144      = UINT32_C(0x00087090); // 8-bit register width : Interrupt request register 144
      constexpr std::uint32_t icu_ir145      = UINT32_C(0x00087091); // 8-bit register width : Interrupt request register 145
      constexpr std::uint32_t icu_ir146      = UINT32_C(0x00087092); // 8-bit register width : Interrupt request register 146
      constexpr std::uint32_t icu_ir147      = UINT32_C(0x00087093); // 8-bit register width : Interrupt request register 147
      constexpr std::uint32_t icu_ir148      = UINT32_C(0x00087094); // 8-bit register width : Interrupt request register 148
      constexpr std::uint32_t icu_ir149      = UINT32_C(0x00087095); // 8-bit register width : Interrupt request register 149
      constexpr std::uint32_t icu_ir150      = UINT32_C(0x00087096); // 8-bit register width : Interrupt request register 150
      constexpr std::uint32_t icu_ir151      = UINT32_C(0x00087097); // 8-bit register width : Interrupt request register 151
      constexpr std::uint32_t icu_ir152      = UINT32_C(0x00087098); // 8-bit register width : Interrupt request register 152
      constexpr std::uint32_t icu_ir153      = UINT32_C(0x00087099); // 8-bit register width : Interrupt request register 153
      constexpr std::uint32_t icu_ir154      = UINT32_C(0x0008709A); // 8-bit register width : Interrupt request register 154
      constexpr std::uint32_t icu_ir155      = UINT32_C(0x0008709B); // 8-bit register width : Interrupt request register 155
      constexpr std::uint32_t icu_ir156      = UINT32_C(0x0008709C); // 8-bit register width : Interrupt request register 156
      constexpr std::uint32_t icu_ir157      = UINT32_C(0x0008709D); // 8-bit register width : Interrupt request register 157
      constexpr std::uint32_t icu_ir158      = UINT32_C(0x0008709E); // 8-bit register width : Interrupt request register 158
      constexpr std::uint32_t icu_ir159      = UINT32_C(0x0008709F); // 8-bit register width : Interrupt request register 159
      constexpr std::uint32_t icu_ir160      = UINT32_C(0x000870A0); // 8-bit register width : Interrupt request register 160
      constexpr std::uint32_t icu_ir161      = UINT32_C(0x000870A1); // 8-bit register width : Interrupt request register 161
      constexpr std::uint32_t icu_ir162      = UINT32_C(0x000870A2); // 8-bit register width : Interrupt request register 162
      constexpr std::uint32_t icu_ir163      = UINT32_C(0x000870A3); // 8-bit register width : Interrupt request register 163
      constexpr std::uint32_t icu_ir164      = UINT32_C(0x000870A4); // 8-bit register width : Interrupt request register 164
      constexpr std::uint32_t icu_ir165      = UINT32_C(0x000870A5); // 8-bit register width : Interrupt request register 165
      constexpr std::uint32_t icu_ir166      = UINT32_C(0x000870A6); // 8-bit register width : Interrupt request register 166
      constexpr std::uint32_t icu_ir167      = UINT32_C(0x000870A7); // 8-bit register width : Interrupt request register 167
      constexpr std::uint32_t icu_ir170      = UINT32_C(0x000870AA); // 8-bit register width : Interrupt request register 170
      constexpr std::uint32_t icu_ir171      = UINT32_C(0x000870AB); // 8-bit register width : Interrupt request register 171
      constexpr std::uint32_t icu_ir172      = UINT32_C(0x000870AC); // 8-bit register width : Interrupt request register 172
      constexpr std::uint32_t icu_ir173      = UINT32_C(0x000870AD); // 8-bit register width : Interrupt request register 173
      constexpr std::uint32_t icu_ir174      = UINT32_C(0x000870AE); // 8-bit register width : Interrupt request register 174
      constexpr std::uint32_t icu_ir175      = UINT32_C(0x000870AF); // 8-bit register width : Interrupt request register 175
      constexpr std::uint32_t icu_ir176      = UINT32_C(0x000870B0); // 8-bit register width : Interrupt request register 176
      constexpr std::uint32_t icu_ir177      = UINT32_C(0x000870B1); // 8-bit register width : Interrupt request register 177
      constexpr std::uint32_t icu_ir178      = UINT32_C(0x000870B2); // 8-bit register width : Interrupt request register 178
      constexpr std::uint32_t icu_ir179      = UINT32_C(0x000870B3); // 8-bit register width : Interrupt request register 179
      constexpr std::uint32_t icu_ir180      = UINT32_C(0x000870B4); // 8-bit register width : Interrupt request register 180
      constexpr std::uint32_t icu_ir181      = UINT32_C(0x000870B5); // 8-bit register width : Interrupt request register 181
      constexpr std::uint32_t icu_ir182      = UINT32_C(0x000870B6); // 8-bit register width : Interrupt request register 182
      constexpr std::uint32_t icu_ir183      = UINT32_C(0x000870B7); // 8-bit register width : Interrupt request register 183
      constexpr std::uint32_t icu_ir184      = UINT32_C(0x000870B8); // 8-bit register width : Interrupt request register 184
      constexpr std::uint32_t icu_ir185      = UINT32_C(0x000870B9); // 8-bit register width : Interrupt request register 185
      constexpr std::uint32_t icu_ir186      = UINT32_C(0x000870BA); // 8-bit register width : Interrupt request register 186
      constexpr std::uint32_t icu_ir187      = UINT32_C(0x000870BB); // 8-bit register width : Interrupt request register 187
      constexpr std::uint32_t icu_ir188      = UINT32_C(0x000870BC); // 8-bit register width : Interrupt request register 188
      constexpr std::uint32_t icu_ir189      = UINT32_C(0x000870BD); // 8-bit register width : Interrupt request register 189
      constexpr std::uint32_t icu_ir190      = UINT32_C(0x000870BE); // 8-bit register width : Interrupt request register 190
      constexpr std::uint32_t icu_ir191      = UINT32_C(0x000870BF); // 8-bit register width : Interrupt request register 191
      constexpr std::uint32_t icu_ir192      = UINT32_C(0x000870C0); // 8-bit register width : Interrupt request register 192
      constexpr std::uint32_t icu_ir193      = UINT32_C(0x000870C1); // 8-bit register width : Interrupt request register 193
      constexpr std::uint32_t icu_ir194      = UINT32_C(0x000870C2); // 8-bit register width : Interrupt request register 194
      constexpr std::uint32_t icu_ir195      = UINT32_C(0x000870C3); // 8-bit register width : Interrupt request register 195
      constexpr std::uint32_t icu_ir196      = UINT32_C(0x000870C4); // 8-bit register width : Interrupt request register 196
      constexpr std::uint32_t icu_ir197      = UINT32_C(0x000870C5); // 8-bit register width : Interrupt request register 197
      constexpr std::uint32_t icu_ir198      = UINT32_C(0x000870C6); // 8-bit register width : Interrupt request register 198
      constexpr std::uint32_t icu_ir199      = UINT32_C(0x000870C7); // 8-bit register width : Interrupt request register 199
      constexpr std::uint32_t icu_ir200      = UINT32_C(0x000870C8); // 8-bit register width : Interrupt request register 200
      constexpr std::uint32_t icu_ir201      = UINT32_C(0x000870C9); // 8-bit register width : Interrupt request register 201
      constexpr std::uint32_t icu_ir202      = UINT32_C(0x000870CA); // 8-bit register width : Interrupt request register 202
      constexpr std::uint32_t icu_ir203      = UINT32_C(0x000870CB); // 8-bit register width : Interrupt request register 203
      constexpr std::uint32_t icu_ir214      = UINT32_C(0x000870D6); // 8-bit register width : Interrupt request register 214
      constexpr std::uint32_t icu_ir215      = UINT32_C(0x000870D7); // 8-bit register width : Interrupt request register 215
      constexpr std::uint32_t icu_ir216      = UINT32_C(0x000870D8); // 8-bit register width : Interrupt request register 216
      constexpr std::uint32_t icu_ir217      = UINT32_C(0x000870D9); // 8-bit register width : Interrupt request register 217
      constexpr std::uint32_t icu_ir218      = UINT32_C(0x000870DA); // 8-bit register width : Interrupt request register 218
      constexpr std::uint32_t icu_ir219      = UINT32_C(0x000870DB); // 8-bit register width : Interrupt request register 219
      constexpr std::uint32_t icu_ir220      = UINT32_C(0x000870DC); // 8-bit register width : Interrupt request register 220
      constexpr std::uint32_t icu_ir221      = UINT32_C(0x000870DD); // 8-bit register width : Interrupt request register 221
      constexpr std::uint32_t icu_ir222      = UINT32_C(0x000870DE); // 8-bit register width : Interrupt request register 222
      constexpr std::uint32_t icu_ir223      = UINT32_C(0x000870DF); // 8-bit register width : Interrupt request register 223
      constexpr std::uint32_t icu_ir224      = UINT32_C(0x000870E0); // 8-bit register width : Interrupt request register 224
      constexpr std::uint32_t icu_ir225      = UINT32_C(0x000870E1); // 8-bit register width : Interrupt request register 225
      constexpr std::uint32_t icu_ir226      = UINT32_C(0x000870E2); // 8-bit register width : Interrupt request register 226
      constexpr std::uint32_t icu_ir227      = UINT32_C(0x000870E3); // 8-bit register width : Interrupt request register 227
      constexpr std::uint32_t icu_ir228      = UINT32_C(0x000870E4); // 8-bit register width : Interrupt request register 228
      constexpr std::uint32_t icu_ir229      = UINT32_C(0x000870E5); // 8-bit register width : Interrupt request register 229
      constexpr std::uint32_t icu_ir230      = UINT32_C(0x000870E6); // 8-bit register width : Interrupt request register 230
      constexpr std::uint32_t icu_ir231      = UINT32_C(0x000870E7); // 8-bit register width : Interrupt request register 231
      constexpr std::uint32_t icu_ir232      = UINT32_C(0x000870E8); // 8-bit register width : Interrupt request register 232
      constexpr std::uint32_t icu_ir233      = UINT32_C(0x000870E9); // 8-bit register width : Interrupt request register 233
      constexpr std::uint32_t icu_ir234      = UINT32_C(0x000870EA); // 8-bit register width : Interrupt request register 234
      constexpr std::uint32_t icu_ir235      = UINT32_C(0x000870EB); // 8-bit register width : Interrupt request register 235
      constexpr std::uint32_t icu_ir236      = UINT32_C(0x000870EC); // 8-bit register width : Interrupt request register 236
      constexpr std::uint32_t icu_ir237      = UINT32_C(0x000870ED); // 8-bit register width : Interrupt request register 237
      constexpr std::uint32_t icu_ir238      = UINT32_C(0x000870EE); // 8-bit register width : Interrupt request register 238
      constexpr std::uint32_t icu_ir239      = UINT32_C(0x000870EF); // 8-bit register width : Interrupt request register 239
      constexpr std::uint32_t icu_ir240      = UINT32_C(0x000870F0); // 8-bit register width : Interrupt request register 240
      constexpr std::uint32_t icu_ir241      = UINT32_C(0x000870F1); // 8-bit register width : Interrupt request register 241
      constexpr std::uint32_t icu_ir242      = UINT32_C(0x000870F2); // 8-bit register width : Interrupt request register 242
      constexpr std::uint32_t icu_ir243      = UINT32_C(0x000870F3); // 8-bit register width : Interrupt request register 243
      constexpr std::uint32_t icu_ir244      = UINT32_C(0x000870F4); // 8-bit register width : Interrupt request register 244
      constexpr std::uint32_t icu_ir245      = UINT32_C(0x000870F5); // 8-bit register width : Interrupt request register 245
      constexpr std::uint32_t icu_ir246      = UINT32_C(0x000870F6); // 8-bit register width : Interrupt request register 246
      constexpr std::uint32_t icu_ir247      = UINT32_C(0x000870F7); // 8-bit register width : Interrupt request register 247
      constexpr std::uint32_t icu_ir248      = UINT32_C(0x000870F8); // 8-bit register width : Interrupt request register 248
      constexpr std::uint32_t icu_ir249      = UINT32_C(0x000870F9); // 8-bit register width : Interrupt request register 249
      constexpr std::uint32_t icu_ir250      = UINT32_C(0x000870FA); // 8-bit register width : Interrupt request register 250
      constexpr std::uint32_t icu_ir251      = UINT32_C(0x000870FB); // 8-bit register width : Interrupt request register 251
      constexpr std::uint32_t icu_ir252      = UINT32_C(0x000870FC); // 8-bit register width : Interrupt request register 252
      constexpr std::uint32_t icu_ir253      = UINT32_C(0x000870FD); // 8-bit register width : Interrupt request register 253

      // Interrupt enable registers.
      constexpr std::uint32_t icu_ier02      = UINT32_C(0x00087202); //  8-bit register width : Interrupt request enable register 02
      constexpr std::uint32_t icu_ier03      = UINT32_C(0x00087203); //  8-bit register width : Interrupt request enable register 03
      constexpr std::uint32_t icu_ier04      = UINT32_C(0x00087204); //  8-bit register width : Interrupt request enable register 04
      constexpr std::uint32_t icu_ier05      = UINT32_C(0x00087205); //  8-bit register width : Interrupt request enable register 05
      constexpr std::uint32_t icu_ier06      = UINT32_C(0x00087206); //  8-bit register width : Interrupt request enable register 06
      constexpr std::uint32_t icu_ier07      = UINT32_C(0x00087207); //  8-bit register width : Interrupt request enable register 07
      constexpr std::uint32_t icu_ier08      = UINT32_C(0x00087208); //  8-bit register width : Interrupt request enable register 08
      constexpr std::uint32_t icu_ier09      = UINT32_C(0x00087209); //  8-bit register width : Interrupt request enable register 09
      constexpr std::uint32_t icu_ier0b      = UINT32_C(0x0008720B); //  8-bit register width : Interrupt request enable register 0B
      constexpr std::uint32_t icu_ier0c      = UINT32_C(0x0008720C); //  8-bit register width : Interrupt request enable register 0C
      constexpr std::uint32_t icu_ier0d      = UINT32_C(0x0008720D); //  8-bit register width : Interrupt request enable register 0D
      constexpr std::uint32_t icu_ier0e      = UINT32_C(0x0008720E); //  8-bit register width : Interrupt request enable register 0E
      constexpr std::uint32_t icu_ier0f      = UINT32_C(0x0008720F); //  8-bit register width : Interrupt request enable register 0F
      constexpr std::uint32_t icu_ier10      = UINT32_C(0x00087210); //  8-bit register width : Interrupt request enable register 10
      constexpr std::uint32_t icu_ier11      = UINT32_C(0x00087211); //  8-bit register width : Interrupt request enable register 11
      constexpr std::uint32_t icu_ier12      = UINT32_C(0x00087212); //  8-bit register width : Interrupt request enable register 12
      constexpr std::uint32_t icu_ier13      = UINT32_C(0x00087213); //  8-bit register width : Interrupt request enable register 13
      constexpr std::uint32_t icu_ier14      = UINT32_C(0x00087214); //  8-bit register width : Interrupt request enable register 14
      constexpr std::uint32_t icu_ier15      = UINT32_C(0x00087215); //  8-bit register width : Interrupt request enable register 15
      constexpr std::uint32_t icu_ier16      = UINT32_C(0x00087216); //  8-bit register width : Interrupt request enable register 16
      constexpr std::uint32_t icu_ier17      = UINT32_C(0x00087217); //  8-bit register width : Interrupt request enable register 17
      constexpr std::uint32_t icu_ier18      = UINT32_C(0x00087218); //  8-bit register width : Interrupt request enable register 18
      constexpr std::uint32_t icu_ier19      = UINT32_C(0x00087219); //  8-bit register width : Interrupt request enable register 19
      constexpr std::uint32_t icu_ier1a      = UINT32_C(0x0008721A); //  8-bit register width : Interrupt request enable register 1A
      constexpr std::uint32_t icu_ier1b      = UINT32_C(0x0008721B); //  8-bit register width : Interrupt request enable register 1B
      constexpr std::uint32_t icu_ier1c      = UINT32_C(0x0008721C); //  8-bit register width : Interrupt request enable register 1C
      constexpr std::uint32_t icu_ier1d      = UINT32_C(0x0008721D); //  8-bit register width : Interrupt request enable register 1D
      constexpr std::uint32_t icu_ier1e      = UINT32_C(0x0008721E); //  8-bit register width : Interrupt request enable register 1E
      constexpr std::uint32_t icu_ier1f      = UINT32_C(0x0008721F); //  8-bit register width : Interrupt request enable register 1F

      // Other interrupt registers.
      constexpr std::uint32_t icu_swintr     = UINT32_C(0x000872E0); //  8-bit register width : Software interrupt activation register
      constexpr std::uint32_t icu_fir        = UINT32_C(0x000872F0); // 16-bit register width : Fast interrupt set register

      // Interrupt priority registers.
      constexpr std::uint32_t icu_ipr000     = UINT32_C(0x00087300); // 8-bit register width : Interrupt source priority register 000
      constexpr std::uint32_t icu_ipr001     = UINT32_C(0x00087301); // 8-bit register width : Interrupt source priority register 001
      constexpr std::uint32_t icu_ipr002     = UINT32_C(0x00087302); // 8-bit register width : Interrupt source priority register 002
      constexpr std::uint32_t icu_ipr003     = UINT32_C(0x00087303); // 8-bit register width : Interrupt source priority register 003
      constexpr std::uint32_t icu_ipr004     = UINT32_C(0x00087304); // 8-bit register width : Interrupt source priority register 004
      constexpr std::uint32_t icu_ipr005     = UINT32_C(0x00087305); // 8-bit register width : Interrupt source priority register 005
      constexpr std::uint32_t icu_ipr006     = UINT32_C(0x00087306); // 8-bit register width : Interrupt source priority register 006
      constexpr std::uint32_t icu_ipr007     = UINT32_C(0x00087307); // 8-bit register width : Interrupt source priority register 007
      constexpr std::uint32_t icu_ipr032     = UINT32_C(0x00087320); // 8-bit register width : Interrupt source priority register 032
      constexpr std::uint32_t icu_ipr033     = UINT32_C(0x00087321); // 8-bit register width : Interrupt source priority register 033
      constexpr std::uint32_t icu_ipr034     = UINT32_C(0x00087322); // 8-bit register width : Interrupt source priority register 034
      constexpr std::uint32_t icu_ipr035     = UINT32_C(0x00087323); // 8-bit register width : Interrupt source priority register 035
      constexpr std::uint32_t icu_ipr036     = UINT32_C(0x00087324); // 8-bit register width : Interrupt source priority register 036
      constexpr std::uint32_t icu_ipr037     = UINT32_C(0x00087325); // 8-bit register width : Interrupt source priority register 037
      constexpr std::uint32_t icu_ipr038     = UINT32_C(0x00087326); // 8-bit register width : Interrupt source priority register 038
      constexpr std::uint32_t icu_ipr039     = UINT32_C(0x00087327); // 8-bit register width : Interrupt source priority register 039
      constexpr std::uint32_t icu_ipr042     = UINT32_C(0x0008732A); // 8-bit register width : Interrupt source priority register 042
      constexpr std::uint32_t icu_ipr045     = UINT32_C(0x0008732D); // 8-bit register width : Interrupt source priority register 045
      constexpr std::uint32_t icu_ipr048     = UINT32_C(0x00087330); // 8-bit register width : Interrupt source priority register 048
      constexpr std::uint32_t icu_ipr052     = UINT32_C(0x00087334); // 8-bit register width : Interrupt source priority register 052
      constexpr std::uint32_t icu_ipr056     = UINT32_C(0x00087338); // 8-bit register width : Interrupt source priority register 056
      constexpr std::uint32_t icu_ipr062     = UINT32_C(0x0008733E); // 8-bit register width : Interrupt source priority register 062
      constexpr std::uint32_t icu_ipr064     = UINT32_C(0x00087340); // 8-bit register width : Interrupt source priority register 064
      constexpr std::uint32_t icu_ipr065     = UINT32_C(0x00087341); // 8-bit register width : Interrupt source priority register 065
      constexpr std::uint32_t icu_ipr066     = UINT32_C(0x00087342); // 8-bit register width : Interrupt source priority register 066
      constexpr std::uint32_t icu_ipr067     = UINT32_C(0x00087343); // 8-bit register width : Interrupt source priority register 067
      constexpr std::uint32_t icu_ipr068     = UINT32_C(0x00087344); // 8-bit register width : Interrupt source priority register 068
      constexpr std::uint32_t icu_ipr069     = UINT32_C(0x00087345); // 8-bit register width : Interrupt source priority register 069
      constexpr std::uint32_t icu_ipr070     = UINT32_C(0x00087346); // 8-bit register width : Interrupt source priority register 070
      constexpr std::uint32_t icu_ipr071     = UINT32_C(0x00087347); // 8-bit register width : Interrupt source priority register 071
      constexpr std::uint32_t icu_ipr072     = UINT32_C(0x00087348); // 8-bit register width : Interrupt source priority register 072
      constexpr std::uint32_t icu_ipr073     = UINT32_C(0x00087349); // 8-bit register width : Interrupt source priority register 073
      constexpr std::uint32_t icu_ipr074     = UINT32_C(0x0008734A); // 8-bit register width : Interrupt source priority register 074
      constexpr std::uint32_t icu_ipr075     = UINT32_C(0x0008734B); // 8-bit register width : Interrupt source priority register 075
      constexpr std::uint32_t icu_ipr076     = UINT32_C(0x0008734C); // 8-bit register width : Interrupt source priority register 076
      constexpr std::uint32_t icu_ipr077     = UINT32_C(0x0008734D); // 8-bit register width : Interrupt source priority register 077
      constexpr std::uint32_t icu_ipr078     = UINT32_C(0x0008734E); // 8-bit register width : Interrupt source priority register 078
      constexpr std::uint32_t icu_ipr079     = UINT32_C(0x0008734F); // 8-bit register width : Interrupt source priority register 079
      constexpr std::uint32_t icu_ipr090     = UINT32_C(0x0008735A); // 8-bit register width : Interrupt source priority register 090
      constexpr std::uint32_t icu_ipr091     = UINT32_C(0x0008735B); // 8-bit register width : Interrupt source priority register 091
      constexpr std::uint32_t icu_ipr092     = UINT32_C(0x0008735C); // 8-bit register width : Interrupt source priority register 092
      constexpr std::uint32_t icu_ipr093     = UINT32_C(0x0008735D); // 8-bit register width : Interrupt source priority register 093
      constexpr std::uint32_t icu_ipr098     = UINT32_C(0x00087362); // 8-bit register width : Interrupt source priority register 098
      constexpr std::uint32_t icu_ipr102     = UINT32_C(0x00087366); // 8-bit register width : Interrupt source priority register 102
      constexpr std::uint32_t icu_ipr106     = UINT32_C(0x0008736A); // 8-bit register width : Interrupt source priority register 106
      constexpr std::uint32_t icu_ipr107     = UINT32_C(0x0008736B); // 8-bit register width : Interrupt source priority register 107
      constexpr std::uint32_t icu_ipr108     = UINT32_C(0x0008736C); // 8-bit register width : Interrupt source priority register 108
      constexpr std::uint32_t icu_ipr109     = UINT32_C(0x0008736D); // 8-bit register width : Interrupt source priority register 109
      constexpr std::uint32_t icu_ipr110     = UINT32_C(0x0008736E); // 8-bit register width : Interrupt source priority register 110
      constexpr std::uint32_t icu_ipr111     = UINT32_C(0x0008736F); // 8-bit register width : Interrupt source priority register 111
      constexpr std::uint32_t icu_ipr112     = UINT32_C(0x00087370); // 8-bit register width : Interrupt source priority register 112
      constexpr std::uint32_t icu_ipr114     = UINT32_C(0x00087372); // 8-bit register width : Interrupt source priority register 114
      constexpr std::uint32_t icu_ipr122     = UINT32_C(0x0008737A); // 8-bit register width : Interrupt source priority register 122
      constexpr std::uint32_t icu_ipr126     = UINT32_C(0x0008737E); // 8-bit register width : Interrupt source priority register 126
      constexpr std::uint32_t icu_ipr130     = UINT32_C(0x00087382); // 8-bit register width : Interrupt source priority register 130
      constexpr std::uint32_t icu_ipr132     = UINT32_C(0x00087384); // 8-bit register width : Interrupt source priority register 132
      constexpr std::uint32_t icu_ipr134     = UINT32_C(0x00087386); // 8-bit register width : Interrupt source priority register 134
      constexpr std::uint32_t icu_ipr138     = UINT32_C(0x0008738A); // 8-bit register width : Interrupt source priority register 138
      constexpr std::uint32_t icu_ipr140     = UINT32_C(0x0008738C); // 8-bit register width : Interrupt source priority register 140
      constexpr std::uint32_t icu_ipr142     = UINT32_C(0x0008738E); // 8-bit register width : Interrupt source priority register 142
      constexpr std::uint32_t icu_ipr146     = UINT32_C(0x00087392); // 8-bit register width : Interrupt source priority register 146
      constexpr std::uint32_t icu_ipr148     = UINT32_C(0x00087394); // 8-bit register width : Interrupt source priority register 148
      constexpr std::uint32_t icu_ipr150     = UINT32_C(0x00087396); // 8-bit register width : Interrupt source priority register 150
      constexpr std::uint32_t icu_ipr152     = UINT32_C(0x00087398); // 8-bit register width : Interrupt source priority register 152
      constexpr std::uint32_t icu_ipr156     = UINT32_C(0x0008739C); // 8-bit register width : Interrupt source priority register 156
      constexpr std::uint32_t icu_ipr160     = UINT32_C(0x000873A0); // 8-bit register width : Interrupt source priority register 160
      constexpr std::uint32_t icu_ipr161     = UINT32_C(0x000873A1); // 8-bit register width : Interrupt source priority register 161
      constexpr std::uint32_t icu_ipr164     = UINT32_C(0x000873A4); // 8-bit register width : Interrupt source priority register 164
      constexpr std::uint32_t icu_ipr166     = UINT32_C(0x000873A6); // 8-bit register width : Interrupt source priority register 166
      constexpr std::uint32_t icu_ipr170     = UINT32_C(0x000873AA); // 8-bit register width : Interrupt source priority register 170
      constexpr std::uint32_t icu_ipr173     = UINT32_C(0x000873AD); // 8-bit register width : Interrupt source priority register 173
      constexpr std::uint32_t icu_ipr176     = UINT32_C(0x000873B0); // 8-bit register width : Interrupt source priority register 176
      constexpr std::uint32_t icu_ipr179     = UINT32_C(0x000873B3); // 8-bit register width : Interrupt source priority register 179
      constexpr std::uint32_t icu_ipr182     = UINT32_C(0x000873B6); // 8-bit register width : Interrupt source priority register 182
      constexpr std::uint32_t icu_ipr183     = UINT32_C(0x000873B7); // 8-bit register width : Interrupt source priority register 183
      constexpr std::uint32_t icu_ipr184     = UINT32_C(0x000873B8); // 8-bit register width : Interrupt source priority register 184
      constexpr std::uint32_t icu_ipr185     = UINT32_C(0x000873B9); // 8-bit register width : Interrupt source priority register 185
      constexpr std::uint32_t icu_ipr186     = UINT32_C(0x000873BA); // 8-bit register width : Interrupt source priority register 186
      constexpr std::uint32_t icu_ipr187     = UINT32_C(0x000873BB); // 8-bit register width : Interrupt source priority register 187
      constexpr std::uint32_t icu_ipr188     = UINT32_C(0x000873BC); // 8-bit register width : Interrupt source priority register 188
      constexpr std::uint32_t icu_ipr189     = UINT32_C(0x000873BD); // 8-bit register width : Interrupt source priority register 189
      constexpr std::uint32_t icu_ipr190     = UINT32_C(0x000873BE); // 8-bit register width : Interrupt source priority register 190
      constexpr std::uint32_t icu_ipr191     = UINT32_C(0x000873BF); // 8-bit register width : Interrupt source priority register 191
      constexpr std::uint32_t icu_ipr192     = UINT32_C(0x000873C0); // 8-bit register width : Interrupt source priority register 192
      constexpr std::uint32_t icu_ipr193     = UINT32_C(0x000873C1); // 8-bit register width : Interrupt source priority register 193
      constexpr std::uint32_t icu_ipr194     = UINT32_C(0x000873C2); // 8-bit register width : Interrupt source priority register 194
      constexpr std::uint32_t icu_ipr195     = UINT32_C(0x000873C3); // 8-bit register width : Interrupt source priority register 195
      constexpr std::uint32_t icu_ipr196     = UINT32_C(0x000873C4); // 8-bit register width : Interrupt source priority register 196
      constexpr std::uint32_t icu_ipr197     = UINT32_C(0x000873C5); // 8-bit register width : Interrupt source priority register 197
      constexpr std::uint32_t icu_ipr198     = UINT32_C(0x000873C6); // 8-bit register width : Interrupt source priority register 198
      constexpr std::uint32_t icu_ipr199     = UINT32_C(0x000873C7); // 8-bit register width : Interrupt source priority register 199
      constexpr std::uint32_t icu_ipr200     = UINT32_C(0x000873C8); // 8-bit register width : Interrupt source priority register 200
      constexpr std::uint32_t icu_ipr201     = UINT32_C(0x000873C9); // 8-bit register width : Interrupt source priority register 201
      constexpr std::uint32_t icu_ipr202     = UINT32_C(0x000873CA); // 8-bit register width : Interrupt source priority register 202
      constexpr std::uint32_t icu_ipr203     = UINT32_C(0x000873CB); // 8-bit register width : Interrupt source priority register 203
      constexpr std::uint32_t icu_ipr206     = UINT32_C(0x000873CE); // 8-bit register width : Interrupt source priority register 206
      constexpr std::uint32_t icu_ipr207     = UINT32_C(0x000873CF); // 8-bit register width : Interrupt source priority register 207
      constexpr std::uint32_t icu_ipr208     = UINT32_C(0x000873D0); // 8-bit register width : Interrupt source priority register 208
      constexpr std::uint32_t icu_ipr214     = UINT32_C(0x000873D6); // 8-bit register width : Interrupt source priority register 214
      constexpr std::uint32_t icu_ipr217     = UINT32_C(0x000873D9); // 8-bit register width : Interrupt source priority register 217
      constexpr std::uint32_t icu_ipr220     = UINT32_C(0x000873DC); // 8-bit register width : Interrupt source priority register 220
      constexpr std::uint32_t icu_ipr223     = UINT32_C(0x000873DF); // 8-bit register width : Interrupt source priority register 223
      constexpr std::uint32_t icu_ipr226     = UINT32_C(0x000873E2); // 8-bit register width : Interrupt source priority register 226
      constexpr std::uint32_t icu_ipr229     = UINT32_C(0x000873E5); // 8-bit register width : Interrupt source priority register 229
      constexpr std::uint32_t icu_ipr232     = UINT32_C(0x000873E8); // 8-bit register width : Interrupt source priority register 232
      constexpr std::uint32_t icu_ipr235     = UINT32_C(0x000873EB); // 8-bit register width : Interrupt source priority register 235
      constexpr std::uint32_t icu_ipr238     = UINT32_C(0x000873EE); // 8-bit register width : Interrupt source priority register 238
      constexpr std::uint32_t icu_ipr241     = UINT32_C(0x000873F1); // 8-bit register width : Interrupt source priority register 241
      constexpr std::uint32_t icu_ipr244     = UINT32_C(0x000873F4); // 8-bit register width : Interrupt source priority register 244
      constexpr std::uint32_t icu_ipr247     = UINT32_C(0x000873F7); // 8-bit register width : Interrupt source priority register 247
      constexpr std::uint32_t icu_ipr250     = UINT32_C(0x000873FA); // 8-bit register width : Interrupt source priority register 250
      constexpr std::uint32_t icu_ipr253     = UINT32_C(0x000873FD); // 8-bit register width : Interrupt source priority register 253
    }
  }

  #include <mcal/mcal_reg_access_dynamic.h>
  #include <mcal/mcal_reg_access_static.h>

#endif // MCAL_REG_2010_04_10_H_
